"""
K-Means聚类算法

1 无监督学习
没有目标值的就是无监督学习，样本数据没有目标标签的数据学习。

2 无监督学习包含算法
    聚类-从数据中自动发现组别并分类
        K-means(K均值聚类)
    降维
        PCA

3 K-means聚类步骤
    1、随机设置K个特征空间内的点作为初始的聚类中心
    2、对于其他每个点计算到K个中心的距离，未知的点选择与K个中心最近点作为K个中心的同一类
    3、接着对着标记的聚类中心之后，重新计算出每个聚类的新中心点（平均值）
    4、如果计算得出的新中心点与原中心点一样，那么结束，否则重新进行第二步过程。迭代直至新中心点与原中心点一样或偏差很小结束。

4 kmeans API:
    from sklearn.cluster import KMeans
    sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)
        n_clusters:开始的聚类中心数量，要分成几类，根据需求或者网格搜索出最优的
        init:初始化方法，默认为'k-means ++’
        labels_:默认标记的类型，可以和真实值比较（不是值比较）

    estimator = KMeans(n_clusters=3)
    estimator.fit(data_new)

5 Kmeans 性能评估指标
    轮廓系数
        如果b_i>>a_i:趋近于1效果越好，
        b_i<<a_i:趋近于-1，效果不好。
        轮廓系数的值是介于 [-1,1] ，
        越趋近于1代表内聚度和分离度都相对较优，高内聚低耦合。
    from sklearn.metrics import silhouette_score
    score = silhouette_score(data_new, y_predict)

"""

def car_Kmeans():
    """

    :return:
    """
    from sklearn.cluster import KMeans
    estimator = KMeans()
    pass